This disclosure relates generally to user interface development tools, and more particularly to a model-based integration into a user interface (UI) framework of business logic implemented in Enterprise JavaBeans.
Programming models can be used to develop UIs and provide support when developing web-based business applications. One such programming model is SAP's Web Dynpro, a client-independent programming model of the SAP NetWeaver technology platform. The Web Dynpro model is based on the Model View Controller (MVC) paradigm: the model forms the interface to the back end system and thus enables the application access to data. The view also provides the representation of the data in the browser. The controller lies between the view and the model, and formats the model data to be displayed in the view, processes the user entries made by the user, and returns them to the model.
Each programming model features a clear separation of business logic and display logic, and utilizes a uniform metamodel for all types of user interfaces. Further, UIs developed in such an environment can be executed on any of a number of client platforms. To create an application, a set of tools are used to describe the properties and functions of the application. The data created in this way is stored in tables as metadata. Later, the necessary source code, which is executed at runtime, is created from this metadata. Therefore, the metadata itself is independent of the rendering technique used at runtime.
Enterprise JavaBeans (EJB) are the server-side component architecture for the Java Platform, Enterprise Edition (Java EE). Java is a programming language designed for use in distributed environments of the Internet. Java is based on the “look and feel” of the C++ language, but it simpler and more of an object-oriented programming model. Java can be used to create complete applications that run on a single computer, or that are distributed among servers and clients in a network.
Java EE is a computing platform designed for mainframe-scale computing of medium to large enterprises, and is designed to simplify application development in a thin client-tiered environment. Java EE simplifies application development and decreases the need for programming and programmer training by creating standardized, reusable modular components and by enabling many aspects of application programming automatically.
EJBs enable rapid and simplified development of distributed, transactional, secure and portable Java-based applications. Each EJB is an object-oriented programming interface for building re-useable applications or program building blocks, called components, that can be deployed in a network on any major operating system platform. EJBs can be used to give web pages (or other applications) interactive capabilities, such as computing interest rates or varying page content based on user or browser characteristics, for example.
Currently there is no suitable tool to support the usage of EJBs inside a UI component such as WebDynpro. A developer now has to write all the “glue” code required for invoking business methods on an EJB, and binding the data to the programming model component. There is also no mechanism for metadata provisioning and dynamic access of EJB components at runtime.